/*            Copyright(c) 2006-2008 Dave Sexton           *
 * http://www.codeplex.com/DocProject                      *
 * http://www.codeplex.com/DocProject/Project/License.aspx *
 ***********************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.ComponentModel;

namespace DaveSexton.DocProject.Sandcastle.TopicManagement
{
	public interface ITopicFilter
	{
		string DisplayValue { get; }

		Type EditorType { get; }

		string Name { get; }

		string Memo { get; set; }

		bool Include { get; set; }

		bool AutoApply { get; set; }

		bool IsMatch(Topic topic);

		bool IsMatch(ReflectionApiElement element);

		void Load(XmlReader reader);

		void Save(XmlWriter writer);

		event PropertyChangedEventHandler PropertyChanged;

		ITopicFilter Clone();
	}
}
